package com.xxg.renrencommon.exception.exceptionenum;


/**
 * 用户管理返回代码枚举
 *
 * @author xxg
 * @date 2020/10/9
 */
public enum UserExceptionCodeCodeEnum implements ReturnExceptionCode {
    /**
     * 参数错误
     */
    INVALID_PARAMETER("参数错误", 1),
    /**
     * 关注成功
     */
    FOLLOW_SUCCESS("关注成功", 200),
    /**
     * 获取我的数据失败
     */
    GET_MYSELF_DATA_ERROR("获取我的数据失败", 400),
    /**
     * 编辑成功
     */
    EDIT_SUCCESS("编辑成功", 200),
    /**
     * 喜欢成功
     */
    LIKE_SUCCESS("喜欢成功", 200),
    /**
     * 取消成功
     */
    UN_LIKE_SUCCESS("取消成功", 200),
    /**
     * 取消关注成功
     */
    UNFOLLOW_SUCCESS("取消关注成功", 200),
    /**
     * 关注异常
     */
    FOLLOW_ERROR("关注异常", 401),
    /**
     * 收藏成功
     */
    COLLECT_SUCCESS("收藏成功", 200),
    /**
     * 收藏异常
     */
    COLLECT_ERROR("收藏异常", 402),
    /**
     * 收藏成功
     */
    UNCOLLECT_SUCCESS("取消收藏成功", 200),
    /**
     * 收藏异常
     */
    UNCOLLECT_ERROR("取消收藏异常", 403),
    /**
     * 获取邀请码异常
     */
    GET_INVITE_DATA_ERROR("获取我的邀请数据异常", 405),
    /**
     * 邀请码不正确
     */
    INVALID_INVITE_CODE("邀请码不正确", 406),
    /**
     * 提交邀请码异常
     */
    COMMIT_INVITE_CODE_ERROR("提交邀请码异常", 407),
    /**
     * 邀请码提交成功
     */
    COMMIT_INVITE_CODE_SUCCESS("邀请码提交成功", 200),
    /**
     * 绑定银行卡成功
     */
    BIND_BANKCARD_SUCCESS("绑定银行卡成功", 200),
    /**
     * 商家认证信息提交成功
     */
    COMMIT_COMPANY_IDENTIFICATION_SUCCESS("商家认证信息提交成功", 200),
    /**
     * 商家认证信息提交失败
     */
    COMMIT_COMPANY_IDENTIFICATION_FAIL("商家认证信息提交失败", 408),
    /**
     * 审核商家认证信息失败
     */
    VERIFY_IDENTIFICATION_FAIL("审核商家认证信息失败", 409),
    /**
     * 审核商家认证信息成功
     */
    VERIFY_IDENTIFICATION_SUCCESS("审核商家认证信息成功", 200),
    /**
     * 登记营业执照成功
     */
    REGISTER_BUSINESS_LICENSE_SUCCESS("登记营业执照成功", 200),
    /**
     * 添加地址成功
     */
    ADD_ADDRESS_SUCCESS("添加地址成功", 200),
    /**
     * 编辑地址成功
     */
    EDIT_ADDRESS_SUCCESS("编辑地址成功", 200),
    /**
     * 删除地址成功
     */
    DELETE_ADDRESS_SUCCESS("删除地址成功", 200),
    /**
     * 服务内部异常
     */
    INTERNAL_ERROR("服务内部异常", 500),
    /**
     * 提交失败
     */
    COMMIT_FEEDBACK_FAIL("提交失败", 410),
    /**
     * 举报成功
     */
    TIP_OFF_SUCCESS("举报成功", 200),
    /**
     * 获取主页失败
     */
    GET_PAGE_DATA_ERROR("获取主页失败", 411),
    /**
     * 绑定银行卡失败
     */
    BIND_BANK_CARD_ERROR("绑定银行卡失败", 420),
    /**
     * 提现异常
     */
    CASH_OUT_ERROR("提现异常", 421),
    /**
     * 计算员工收益异常
     */
    EMPLOYEE_CASH_OUT_ERROR("计算员工收益异常", 422),
    /**
     * 获取邀请奖励列表异常
     */
    GET_INVITE_LIST_ERROR("获取邀请奖励列表异常", 423),
    /**
     * 设置为员工失败
     */
    SET_EMPLOYEE_ERROR("设置为员工失败", 424),
    /**
     * 获取VIP商品信息失败
     */
    GET_VIP_PRODUCT_ERROR("获取VIP商品信息失败", 425),
    /**
     * 员工账号迁移失败
     */
    MOVE_ACCOUNT_ERROR("员工账号迁移失败", 426),
    /**
     * 查询用户邀请链失败
     */
    GET_INVITER_CHAIN_ERROR("查询用户邀请链失败", 427),
    /**
     * 查询用户直接邀请的客户列表失败
     */
    GET_DIRECT_CLIENTS_ERROR("查询用户直接邀请的客户列表失败", 428),
    /**
     * 迁移客户失败
     */
    MOVE_CLIENTS_ERROR("迁移客户失败", 429),
    /**
     * 迁移客户失败
     */
    IM_CREATE_ERROR("IM账号创建失败", 430),
    /**
     * 账号不可用
     */
    ACCOUNT_IS_NOT_OK("账号不可用", 200),
    /**
     * 已举报过
     */
    TIP_OFF_ERROR("已举报过", 603),
    /**
     * 只支持中国四大银行
     */
    ONLY_4_BANK("只支持中国四大银行", 2400),
    /**
     * 提现金额不在规定范围内
     */
    CASH_OUT_AMOUNT_ERROR("提现金额不在规定范围内", 2401),
    /**
     * 账号下有未打款申请
     */
    HAS_UN_DONE_CASH_OUT("账号下有未打款申请", 2402),
    /**
     * 没找到对应的银行卡信息
     */
    NOT_FIND_BANK_CARD("没找到对应的银行卡信息", 2403),
    /**
     * 字典不存在
     */
    DICTIONARY_NOT_EXISTS("字典不存在", 2404),
    /**
     * 快递查询异常
     */
    EXPRESS_QUERY_ERROR("快递查询异常", 2405),
    ;
    /**
     * 枚举的名称
     */
    private final String name;
    /**
     * 枚举的代码
     */
    private final int code;

    UserExceptionCodeCodeEnum(String name, int code) {
        this.name = name;
        this.code = code;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public int getCode() {
        return code;
    }

    @Override
    public String toString() {
        return this.code + "_" + this.name;
    }
}
